fa0b2cb719
A press has to mean what it lands on. A drag is a run of spots and the run has a spine, so a press within half a brush radius of that spine takes the drag and dragging moves it, while a press in the outer half of the spots — where the run is not, and a new repair is wanted — lays a stroke against it. Before, a brush near a repaired one was read as a drag OF it: the second stroke was folded into the first and the first moved under the user. Spots carry the drag they came from (stroke), older recipes still answer to the old radius, and the outline of a repaired run is drawn idle so it can be taken hold of (app.css). A repair already made is part of the photo it was made in. The renderer now solves one drag at a time, in the order they were drawn, each against the frame the drags before it have already left — so a stroke laid beside a repaired one invents its pixels from a frame that no longer holds what the first took away, and the repair the user has already accepted does not move when they brush next to it. Measured (probe-seam.mjs, a second stroke laid 2.5 brush radii from the first, counted in levels over the first drag's own circles): 0 at the worst pixel, 0 of 19189 pixels moved by more than two. The ring the first repair left behind was the fill's and not the model's. The model's pixels were laid through the mask's own ramp, so the outer quarter of every spot — where the mask still weighs the fill in at up to full strength — was the fill's, and the fill is the light of the WHOLE box it was built in: a stroke a third of the frame long is filled by blurs up to sixteen brush radii wide, so what it brings there is the box's average and not the rim's. The model is the repair wherever it has one, so it now owns the spot out to 0.92 of its radius (HEAL_PATCH_STOPS) and the fill only meets the photo in the sliver the mask itself fades over. Measured with the same probe: 0.76 levels of mean change over the repair where it was 1.86, 8.5 at the worst pixel where it was 14.2, and the edge strength at the rim after the repair 0.92 where the photo's own edges around it are 0.5 (1.52 before) — the band that was 8 to 11 levels dark is gone. matchToRim goes with them: the relaxation it ran over every crop measures nothing the band above does not already do, and the probe's numbers are identical with it removed.