-
2dba90bd0f
Grow images in the generated trees
layout/one-ask

iris-aiandClaude Opus 5
2026-09-20 04:50:31 -04:00
-
b295c8b97a
Read a leftover as a minimum where nothing divides it

iris-aiandClaude Opus 5
2026-09-20 04:49:50 -04:00
-
c2b8bf83de
Let a rule beat a hint, and name marking a widget for redraw

iris-aiandClaude Opus 5
2026-09-20 03:56:01 -04:00
-
77ed7a24c0
Say how many widgets a shrunk fixture has, and share what tests repeat

iris-aiandClaude Opus 5
2026-09-20 03:18:18 -04:00
-
f8aa0c5cdf
Stop a scroll asking a question it has already answered

iris-aiandClaude Opus 5
2026-09-20 02:53:02 -04:00
-
b7b8d09e40
Write a shared constant once, and stop a scroll placing its own content

iris-aiandClaude Opus 5
2026-09-20 02:09:41 -04:00
-
1096c3167a
Drop the last thing nothing reads
iris-ai
2026-09-20 01:30:35 -04:00
-
445287c95c
Ask a value a question through a reference
iris-ai
2026-09-20 01:30:29 -04:00
-
750217631d
Drop three things nothing reads, and say what a span makes scalable
iris-ai
2026-09-20 01:02:25 -04:00
-
9b4cc329ce
Say the window when the window is why a drawing was refused
iris-ai
2026-09-20 01:00:13 -04:00
-
02048eab77
Rebuild a suboptimal swapchain after presenting, not before
iris-ai
2026-09-20 01:00:05 -04:00
-
d8d51221ee
Keep a contract only where it still holds for this widget
iris-ai
2026-09-20 01:00:01 -04:00
-
781199a7c9
TODO: a prepare stage on Event, for the placeholder in CursorData

iris-aiandClaude Opus 5
2026-09-20 00:26:53 -04:00
-
69ba91588a
Run every generated case without the long seed scan

iris-aiandClaude Opus 5
2026-09-20 00:20:23 -04:00
-
8088a1fa59
Say why a reuse was refused, on every path that refuses one

iris-aiandClaude Opus 5
2026-09-20 00:20:23 -04:00
-
713e3e747b
Judge a kept contract against the box it was asked in

iris-aiandClaude Opus 5
2026-09-20 00:18:18 -04:00
-
aea0387567
Stop keeping what nothing reads back

iris-aiandClaude Opus 5
2026-09-20 00:18:18 -04:00
-
1ebd4d3a05
Match a place's own cases instead of asking it five questions
iris-ai
2026-09-19 23:51:58 -04:00
-
7e2b4cd9db
Print the box a widget drew in, not the rel base labelled as it
iris-ai
2026-09-19 23:28:36 -04:00
-
3da1c71870
Name the values layout carries, and say what a span's slot is
iris-ai
2026-09-19 23:24:55 -04:00
-
6c84b6f2cb
Read a slot's ends where they are used, not carry one between children

iris-aiandClaude Opus 5
2026-09-19 22:13:52 -04:00
-
8d2b7a512b
Sum a span's cursor by name, and guard a scroll's re-clamp

iris-aiandClaude Opus 5
2026-09-19 22:04:39 -04:00
-
40b89c1f79
Say from_axes, which is what a constructor is called

iris-aiandClaude Opus 5
2026-09-19 21:53:58 -04:00
-
4d42f1c8ca
Say on_axis for the lift, so it is not indexing's word

iris-aiandClaude Opus 5
2026-09-19 21:35:22 -04:00
-
2807a925af
Make a declared length one that cannot carry a share

iris-aiandClaude Opus 5
2026-09-19 21:06:31 -04:00
-
55df32a33c
Say layout's operations by name, and index a pair by its axis

iris-aiandClaude Opus 5
2026-09-19 20:56:59 -04:00
-
58ce74dd7d
One argument says where a child goes and what its fractions are of
iris-ai
2026-09-19 17:59:26 -04:00
-
c55be21761
Put place before the rel base, and say what a Place decides
iris-ai
2026-09-19 17:16:41 -04:00
-
beb138632a
Say narrow_rel_base, and let a container pass None for it
iris-ai
2026-09-19 16:55:48 -04:00
-
aeb60e50f5
Say rel base, and give containers back a box to hand over
iris-ai
2026-09-19 16:33:49 -04:00
-
a904cf4f36
TODO: transforms on a move entry, for stretch and rotation
iris-ai
2026-09-19 15:07:51 -04:00
-
5642f2010a
Say region and placement, not extent
iris-ai
2026-09-19 14:49:56 -04:00
-
84dad211f5
Avoid repeated plan generation and unused diagnostics in layout fuzzers
iris-ai
2026-09-19 13:43:11 -04:00
-
add6774980
Keep retained masks and reparented drawings alive, and advance collapsed slots
iris-ai
2026-09-19 13:43:11 -04:00
-
cadfba05dd
Keep only what a room drawing is still needed for
iris-ai
2026-09-19 02:51:08 -04:00
-
38b3a81053
Pin a frame by the fraction the child declared
iris-ai
2026-09-19 02:51:08 -04:00
-
5b181bc8af
Experiment: say the room from the cursor as an inset, and read the row's length only where a slot depends on it
archive/2026-09-19/wip/inset
iris-ai
2026-09-19 02:19:14 -04:00
-
-
f6242aa33c
Take a span child's length from its hint, and ask it once in its slot
iris-ai
2026-09-19 02:09:41 -04:00
-
a888717ee9
Say window where these comments still say frame
iris-ai
2026-09-19 01:23:34 -04:00
-
e8a5792dcb
Place a scroll's fitting content in the viewport, not in the window
iris-ai
2026-09-19 01:23:34 -04:00
-
a30971e4c5
Call the record's boxes what they are

iris-aiandClaude Opus 5
2026-09-19 00:40:23 -04:00
-
adbedaf264
Say what the fuzzer's branching widget branched on

iris-aiandClaude Opus 5
2026-09-19 00:24:10 -04:00
-
23523eea29
Take a window read where a length is resolved against it

iris-aiandClaude Opus 5
2026-09-19 00:21:11 -04:00
-
1512d8418b
Make the frame a length of the window and the box a region

iris-aiandClaude Opus 5
2026-09-19 00:14:46 -04:00
-
0ef87ebfcf
Defer a twice-asked widget's local redraw to its parent

iris-aiandClaude Fable 5.1
2026-09-18 18:29:58 -04:00
-
aaba7dbfee
Keep the step 3/4 experiment as evidence
archive/2026-09-19/wip/step3-experiment

iris-aiandClaude Fable 5.1
2026-09-18 18:21:24 -04:00
-
3091fb86df
Ask each child once and place its answer by re-expression

iris-aiandClaude Fable 5.1
2026-09-18 18:20:57 -04:00
-
-
4328eac756
Keep leftover shares inside scroll viewports
iris-ai
2026-09-18 14:11:02 -04:00
-
b842e4f474
Pin decided-box warm/cold failures
iris-ai
2026-09-18 14:09:00 -04:00
-
49cec82c1b
Say which box a pin reaches the parent through, and derive the offer
iris-ai
2026-09-18 01:21:03 -04:00
-
0954770ceb
Say what a child gets of a container's box in that box's own lengths
iris-ai
2026-09-18 01:06:05 -04:00
-
1956be3f3d
Lay out in a frame that passes through and a box placed in it
iris-ai
2026-09-18 00:40:59 -04:00
-
62a16b5608
Re-ask a dirty widget at its offer locally instead of deferring to its parent
archive/2026-09-19/wip/local-reask

iris-aiandClaude Fable 5.1
2026-09-17 20:51:36 -04:00
-
-
34cafb6edc
Read the marks rather than the queue to decide the walk is done

iris-aiandClaude Opus 5
2026-09-17 19:31:29 -04:00
-
3bf22935ce
Take the deepest dirty widget from an ordered queue, not by scanning

iris-aiandClaude Opus 5
2026-09-17 19:16:40 -04:00
-
e6ba570d07
Give a child a part of the container's extent rather than its raw box

iris-aiandClaude Opus 5
2026-09-17 19:15:17 -04:00
-
0e107f0e89
Keep valid layout guarantees when a redraw widens their range
iris-ai
2026-09-17 17:24:53 -04:00
-
f860f716e6
Separate measured-answer dependencies from retained drawing validity
iris-ai
2026-09-17 17:10:55 -04:00
-
c44bd198ee
Retain child frames relative to the container extent
iris-ai
2026-09-17 16:40:54 -04:00
-
a7307d95fd
Resolve a text draw's glyph origin once
iris-ai
2026-09-17 16:17:47 -04:00
-
7601aa2a5d
Measure container children without intermediate placement
iris-ai
2026-09-17 15:53:24 -04:00
-
c330ecec2b
Skip inverse arithmetic for unrestricted layout validity
iris-ai
2026-09-17 15:53:24 -04:00
-
39f7b08c6c
Honor fixed child alignment inside parent-selected slots
iris-ai
2026-09-17 15:53:24 -04:00
-
2ed5503717
Recompose retained frames exactly and preserve text width validity
iris-ai
2026-09-17 15:11:03 -04:00
-
efb416bbc3
Retain frame and extent dependencies independently
iris-ai
2026-09-17 14:50:09 -04:00
-
5fcace1bfa
WIP: a widget's region stays put and its placement moves in it
iris-ai
2026-09-17 13:53:14 -04:00
-
e44dea34b4
Record which widget is drawing a subtree that changed hands
archive/2026-09-19/split/18-position-chain
iris-ai
2026-09-17 13:01:30 -04:00
-
a0693acc56
Let a resize settle through the walk, and drop the stale-answer guard
iris-ai
2026-09-17 13:00:32 -04:00
-
25e456e0b5
Say what the fuzzers can no longer tell about the stale-answer guard
iris-ai
2026-09-17 05:12:44 -04:00
-
53b00c68e9
Find a span's leftover boundary through the inverse it already has
iris-ai
2026-09-17 05:02:45 -04:00
-
a2cb4f05da
WIP: a stack does not take its sizing child's fraction twice
archive/2026-09-19/wip/stack-fraction-twice
iris-ai
2026-09-17 04:50:00 -04:00
-
-
950960cccd
WIP: Pad outside, Inset inside, and a report read raw
archive/2026-09-19/wip/padding-outset-and-inset
iris-ai
2026-09-17 04:38:53 -04:00
-
1c80051d57
WIP: a report is a fraction of the parent's box, like a rule
iris-ai
2026-09-17 04:32:07 -04:00
-
-
a92c6acdbf
Settle a frame strictly bottom-up rather than escalating into a parent
iris-ai
2026-09-17 04:29:41 -04:00
-
c8beca5753
Give the text example's aligned labels the width to align in
iris-ai
2026-09-17 03:21:17 -04:00
-
4bd8607968
Report the step at or above a text's longest line
iris-ai
2026-09-17 03:18:53 -04:00
-
ffd79f32d3
Read a child's report as a fraction of the containing widget
iris-ai
2026-09-17 02:56:51 -04:00
-
0e0d4af326
Refuse a retained answer while something the widget measured is dirty
iris-ai
2026-09-17 02:46:25 -04:00
-
ea6dbae0dc
Hand a redrawn widget the mask it inherited, not its own

iris-aiandClaude Opus 5
2026-09-17 00:18:39 -04:00
-
32542d0c0b
Thread a box in pixels down the draw, one multiply from its parent's

iris-aiandClaude Opus 5
2026-09-17 00:12:56 -04:00
-
5b7800264d
Read a child's answer in the asker's frame, and drop the root move entry

iris-aiandClaude Fable 5.1
2026-09-16 23:00:15 -04:00
-
5f16617511
Carry the composed box down the draw, rather than walking back up for it

iris-aiandClaude Opus 5
2026-09-16 21:49:25 -04:00
-
45a717695b
Compose a box down its chain once, not once a level

iris-aiandClaude Opus 5
2026-09-16 21:30:45 -04:00
-
d21a21524f
Rename WidgetPtr to Wrapper and give it a builder

iris-aiandClaude Opus 5
2026-09-16 20:48:07 -04:00
-
e166e005dc
Pin that a length in pixels is that many pixels

iris-aiandClaude Opus 5
2026-09-16 18:16:18 -04:00
-
38eba543f6
Tighten a validity range to what the arithmetic needs

iris-aiandClaude Opus 5
2026-09-16 18:15:44 -04:00
-
2bc6bdfc77
Let a child with room to move use its own alignment

iris-aiandClaude Opus 5
2026-09-16 18:03:09 -04:00
-
d8ae9c3bdd
Place a locally redrawn widget once, in the box already chosen for it

iris-aiandClaude Opus 5
2026-09-16 17:58:07 -04:00
-
08c9d5aa32
Drop a multiply to the step below rather than rounding it

iris-aiandClaude Opus 5
2026-09-16 17:03:45 -04:00
-
60367d806e
Do not widen a validity range where nothing rounded

iris-aiandClaude Opus 5
2026-09-16 16:46:44 -04:00
-
aea878d141
Place a locally redrawn widget in its box, not just at its length

iris-aiandClaude Opus 5
2026-09-16 16:25:26 -04:00
-
98d4e98a29
Describe a tree before building it, so a failing seed can be reduced

iris-aiandClaude Opus 5
2026-09-16 15:58:31 -04:00
-
4febabfd2e
Wrap rather than saturate: nothing draws two million pixels out

iris-aiandClaude Fable 5.1
2026-09-16 14:22:48 -04:00
-
394d5149a5
Measure a cost on a tree that does not move when layout does

iris-aiandClaude Opus 5
2026-09-16 14:06:44 -04:00
-
4cbb242a5d
Do not multiply by a part of nothing

iris-aiandClaude Opus 5
2026-09-16 14:01:52 -04:00
-
d75a1e2129
Do not multiply a box through the whole of its parent

iris-aiandClaude Opus 5
2026-09-16 13:55:30 -04:00
-
1940e85c70
Move a whole box at once, since that is what a move does

iris-aiandClaude Opus 5
2026-09-16 13:50:58 -04:00
-
cb1bba4682
Work a move out once for the subtree, not once for each part

iris-aiandClaude Opus 5
2026-09-16 13:46:23 -04:00
-
490918b789
Ask whether a rule gives the length, not whether there is one

iris-aiandClaude Opus 5
2026-09-16 13:40:51 -04:00
-
a8898aaa54
Give a length with no share in it its own type again

iris-aiandClaude Opus 5
2026-09-16 13:40:15 -04:00